package miguel.utils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;

public class ManejoSD {

	boolean sdDisponible = false;
	boolean sdAccesoEscritura = false;
	
	public ManejoSD() {
		//Comprobamos si se tiene acceso a la memoria externa del teléfono
		String estado = Environment.getExternalStorageState();
		 
		if (estado.equals(Environment.MEDIA_MOUNTED)) {
		    sdDisponible = true;
		    sdAccesoEscritura = true;
		}
		else if (estado.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
		    sdDisponible = true;
		    sdAccesoEscritura = false;
		}
		else {
		    sdDisponible = false;
		    sdAccesoEscritura = false;
		}
	}
	
	public boolean isSdDisponible() {
		return sdDisponible;
	}
	
	public boolean isSdAccesoEscritura() {
		return sdAccesoEscritura;
	}
	
	public void guardarImagenes(String rutaCarpeta, String nombreFichero, Bitmap bitmap) {
		if(sdDisponible && sdAccesoEscritura) {
			try {
				File ruta_sd = Environment.getExternalStorageDirectory();
				File folder = new File(ruta_sd.getAbsolutePath() + "/seriesLy/" + rutaCarpeta, "seriesLy");
				
				//Si no existe, creamos la carpeta
				if(!folder.exists()) {
				    folder.mkdirs();
				}
	
				File file = new File(folder,nombreFichero);
				OutputStream f = null;
				try {
				    f = new FileOutputStream(file);
				    bitmap.compress(Bitmap.CompressFormat.PNG, 100, f);
				    f.close();
				} catch (FileNotFoundException e) {
				} catch(IOException e) {
				}
			} catch (Exception ex)
			{
			    
			}
		}
	}
	
	public Bitmap cargarImagen(String rutaCarpeta, String nombreFichero) {
		File ruta_sd = Environment.getExternalStorageDirectory();
		File folder = new File(ruta_sd.getAbsolutePath() + "/seriesLy/" + rutaCarpeta, "seriesLy");
		File file = new File(folder,nombreFichero);
		
		return BitmapFactory.decodeFile(file.getAbsolutePath());
	}
}
